package testy;

import java.util.ArrayList;
import java.util.List;

/**
 * Klasa obsługująca pytanie testowe.
 * @author Michał Rudowicz
 */
public class Pytanie {
    public List<Odpowiedz> odpowiedzi;
    public String pytanie;
    public int count;

    /**
     * Konstruktor pytania. Ustala ilość powtórzeń na 5. Po stworzeniu pytania
     * należy dodać do niego odpowiedzi.
     * 
     * @param pytanie Treść pytania.
     */
    public Pytanie(String pytanie, int count) {
        this.pytanie = pytanie;
        this.odpowiedzi = new ArrayList<Odpowiedz>();
        this.count = count;
    }

    /**
     * Funkcja sprawdzająca poprawność odpowiedzi.
     * @param nrOdpowiedzi Numer odpowiedzi oznaczonej jako prawidłowa
     * @param kara Ilość karniaków doliczanych w przypadku błędu.
     * @return -1, jeśli odpowiedź jest prawidłowa, -2, jeśli żadna odpowiedź
     *          nie jest prawidłowa, a w przeciwnym
     *          razie indeks poprawnej odpowiedzi.
     */
    public int sprawdzPytanie(int nrOdpowiedzi, int kara) {
        if (odpowiedzi.get(nrOdpowiedzi).prawidlowe) {
            this.count--;
            return -1;
        } else {
            this.count += kara;
            for (int i=0;i<odpowiedzi.size();i++)
                if (odpowiedzi.get(i).prawidlowe)
                    return i;
        }
        return -2;
    }
}
